package com.kxmall.storage.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.kxmall.product.domain.vo.KxStoreCategoryVo;
import com.kxmall.product.domain.vo.KxStoreProductAttrVo;
import com.kxmall.product.domain.vo.KxStoreProductVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;


/**
 * 仓库商品视图对象 kx_storage_goods
 */
@Data
@ApiModel("仓库商品对象")
@ExcelIgnoreUnannotated
public class KxStorageGoodsVo {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "仓库商品ID")
    @ExcelProperty(value = "仓库商品ID")
    private Long id;

    @ApiModelProperty(value = "仓库ID")
    @ExcelProperty(value = "仓库ID")
    private Long storageId;

    @ApiModelProperty(value = "仓库名称")
    @ExcelProperty(value = "仓库名称")
    private String storageName;

    @ApiModelProperty(value = "商品ID")
    @ExcelProperty(value = "商品ID")
    private Long productId;

    @ApiModelProperty(value = "商品名称")
    @ExcelProperty(value = "商品名称")
    private String productName;

    @ApiModelProperty(value = "商品规格ID")
    @ExcelProperty(value = "商品规格ID")
    private Long productAttrId;

    @ApiModelProperty(value = "商品规格名称")
    @ExcelProperty(value = "商品规格名称")
    private String productAttrName;

    @ApiModelProperty(value = "分类ID")
    @ExcelProperty(value = "分类ID")
    private Long categoryId;

    @ApiModelProperty(value = "分类名称")
    @ExcelProperty(value = "分类名称")
    private String categoryName;

    @ApiModelProperty(value = "销售状态 1上架 0下架")
    @ExcelProperty(value = "销售状态")
    private Integer status;

    @ApiModelProperty(value = "库存")
    @ExcelProperty(value = "库存")
    private Long stock;

    @ApiModelProperty(value = "当前库存")
    @ExcelProperty(value = "当前库存")
    private Long nowStock;

    @ApiModelProperty(value = "销售量")
    @ExcelProperty(value = "销售量")
    private Long sales;

    @ApiModelProperty(value = "冻结库存")
    @ExcelProperty(value = "冻结库存")
    private Long frezzStock;

    @ApiModelProperty(value = "当前售价")
    @ExcelProperty(value = "当前售价")
    private BigDecimal price;

    @ApiModelProperty(value = "原价")
    @ExcelProperty(value = "原价")
    private BigDecimal originalPrice;

    @ApiModelProperty(value = "单位")
    @ExcelProperty(value = "单位")
    private String unitName;

    @ApiModelProperty(value = "预警数量")
    @ExcelProperty(value = "预警数量")
    private Long warningNum;

    //@ApiModelProperty(value = "商品条码")
    //@ExcelProperty(value = "商品条码")
    //private String barCode;

    @ApiModelProperty(value = "入库时间")
    @ExcelProperty(value = "入库时间")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    @ExcelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "仓库对象")
    private KxStorageVo storageVo;

    @ApiModelProperty(value = "商品对象")
    private KxStoreProductVo productVo;

    @ApiModelProperty(value = "商品规格对象")
    private KxStoreProductAttrVo productAttrVo;

    @ApiModelProperty(value = "商品分类对象")
    private KxStoreCategoryVo categoryVo;
}
